#pragma once
#include "util/Singleton.h"
#include <string>
#include "socks5def.h"

class CAuthType : public qcutil::Singleton <CAuthType>
{
public:
    CAuthType() { am_ = EAM_Unknown;}
    ~CAuthType() {;}

    std::string getUserName() const;
    void setUserName(const std::string &user_name);

    AuthorizationMode getAuthorizationMode() const;
    void setAuthorizationMode(const AuthorizationMode &am);

    std::string getPassword() const;
    void setPassword(const std::string &password);

private:
    AuthorizationMode am_;
    std::string user_name_;
    std::string password_;
};
